for F in (:Year, :Month, :year, :month)
  @eval $F(x::T) where T<:SimpleClock = $F(Base.Dates.Date(x))
end

for F in (:Week, :Day, :Hour, :Minute, :Second, :Millisecond,
          :week, :day, :hour, :minute, :second, :millisecond)
  @eval $F(x::T) where T<:SimpleClock = $F(Base.Dates.DateTime(x))
end

nanosecond(x::T) where T<:SimpleClock = nanosecond(Base.Dates.Time(x))
Nanosecond(x::T) where T<:SimpleClock = Nanosecond(Base.Dates.Time(x))
microsecond(x::T) where T<:SimpleClock = microsecond(Base.Dates.Time(x))
Microsecond(x::T) where T<:SimpleClock = Microsecond(Base.Dates.Time(x))
